In [1]:
from nilearn import plotting
from nilearn import input_data as nii
import numpy as np
import scipy as sp
import pandas as pd
import nibabel as nib
import seaborn as sbn
import pathlib as pal
from matplotlib import gridspec
from nilearn import plotting as nlp
from matplotlib import pyplot as plt
from statsmodels.sandbox.stats.multicomp import multipletests as stm
from nilearn import datasets
from nilearn import surface
In [ ]:
mist_64_p = '/Users/Clara/Desktop/MIST/Parcellations/MIST_64.nii.gz'
labels_p = '/Users/Clara/Desktop/MIST/Parcel_Information/MIST_64.csv'
mist64_i = nib.load(mist_64_p)
mist64 = mist64_i.get_data()
labels = pd.read_csv(labels_p, delimiter=';')
mask = mist64_i.get_data().astype(bool)
In [3]:
root_p = pal.Path('/Users/Clara/Desktop/Paper_CrossCNVs/Figure_1/Betamaps_AH/dataset_30_03_21/').resolve()
mask_i = nib.Nifti1Image(mask, affine=mist64_i.affine, header=mist64_i.header)
masker = nii.NiftiMasker(mask_img=mask_i, standardize=False)
masker.fit()
atlas_vec = masker.fit_transform(mist64_i).squeeze() - 1

1q21.1

In [4]:
COND_p = root_p / 'cc_DEL1q21_1_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 1q21.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
Out[4]:
In [5]:
COND_p = root_p / 'cc_DEL1q21_1_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 1q21.2",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
Out[5]:
In [6]:
COND_p = root_p / 'cc_DUP1q21_1_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 1q21.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
Out[6]:
In [7]:
COND_p = root_p / 'cc_DUP1q21_1_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 1q21.2",vmax=1, threshold=0.3, cmap=plt.cm.seismic)
Out[7]:

13q12.12

In [8]:
COND_p = root_p / 'cc_DEL13q12_12_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 13q12.12 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
Out[8]:
In [9]:
COND_p = root_p / 'cc_DEL13q12_12_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 13q12.12",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
Out[9]:
In [10]:
COND_p = root_p / 'cc_DUP13q12_12_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 13q12.12 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
Out[10]:
In [11]:
COND_p = root_p / 'cc_DUP13q12_12_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 13q12.12",vmax=1, threshold=0.4, cmap=plt.cm.seismic)
Out[11]:

15q11.2

In [12]:
COND_p = root_p / 'cc_DEL15q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 15q11.2 GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
Out[12]:
In [13]:
COND_p = root_p / 'cc_DEL15q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 15q11.2",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[13]:
In [14]:
COND_p = root_p / 'cc_DUP15q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 15q11.2 GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[14]:
In [15]:
COND_p = root_p / 'cc_DUP15q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 15q11.2",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[15]:

16p11.2

In [18]:
COND_p = root_p / 'cc_DEL16p11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 16p11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[18]:
In [19]:
COND_p = root_p / 'cc_DEL16p11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 16p11.2",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[19]:
In [20]:
COND_p = root_p / 'cc_DUP16p11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 16p11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[20]:
In [21]:
COND_p = root_p / 'cc_DUP16p11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 16p11.2",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[21]:

16p13.11

17p12

22q11.2

In [22]:
COND_p = root_p / 'cc_DEL22q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 22q11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[22]:
In [23]:
COND_p = root_p / 'cc_DEL22q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DEL 22q11.2",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[23]:
In [24]:
COND_p = root_p / 'cc_DUP22q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 22q11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[24]:
In [25]:
COND_p = root_p / 'cc_DUP22q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)

COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)

nlp.view_img(COND_brain_img, title="DUP 22q11.2",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
/Users/Clara/anaconda3/lib/python3.6/site-packages/nilearn/reporting/html_document.py:60: UserWarning: It seems you have created more than 10 nilearn views. As each view uses dozens of megabytes of RAM, you might want to delete some of them.
  MAX_IMG_VIEWS_BEFORE_WARNING))
Out[25]:

Idiopathic psychiatric conditions